layui.define([ 'form', 'laydate', 'table' ], function(exports) {
    var form = layui.form;
    var laydate = layui.laydate;
    var table = layui.table;
    var rightncodeTable = null;
    var view ={
        init:function(){
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function(){
                Lib.doSearchForm($("#searchForm"),rightncodeTable)
            }
        },
        initTable:function(){
            var data = $("#searchForm").serializeJson();
            rightncodeTable = table.render({
                elem : '#rightncodeTable',
                height : Lib.getTableHeight(0),
                cellMinWidth: 100,
                method : 'post',
                where: data,
                url : Common.ctxPath + '/ncode/rightncode/list.json' // 数据接口
                ,page : Lib.tablePage // 开启分页
                ,limit : 10,
                cols : [ [ // 表头
                    {
                        type : 'checkbox',
                        fixed:'left',
                    },
                {

                    field : 'ncode',
                        title : 'n码',
                    width:120

                },
                {

                    field : 'codeName',
                        title : '名称',
                },
                {

                    field : 'roleName',
                        title : '权益名称',
                    width:120
                },
                {

                    field : 'provName',
                    title : '省份',
                    width:80
                },
                {

                    field : 'ntype',
                        title : '类型',
                    templet:function (d) {
                        if(d.ntype==2){
                            return "体验卡"
                        }else if(d.ntype==4){
                            return "会员卡";
                        }else{
                            return "";
                        }
                    },
                    width:90
                },

                {

                    field : 'expiredDate',
                    title : '有效截止期',
                    width:170
                },
                {

                    field : 'batchId',
                    title : '批次ID',
                    width:80
                },
                {

                    field : 'nnumber',
                    title : '编号',
                    width:140
                },
                {

                    field : 'validityDay',
                    title : '有效天数',
                    width:90
                },
                {

                    field : 'nstatus',
                    title : '状态',
                    width:80,
                    templet:function (d) {
                        if(d.nstatus==1){
                            return "出库";
                        }else{
                            return "入库";
                        }

                    }
                },
                {

                    field : 'isActived',
                    title : '激活状态',
                    width:90,
                    templet:function (d) {
                        if(d.isActived==1){
                            return "已激活";
                        }else{
                            return "未激活";
                        }
                    }
            },
                {

                    field : 'customerId',
                        title : '激活用户',
                },
                {

                    field : 'activedTime',
                        title : '激活时间',
                    width:170
                },
                {

                    field : 'phone',
                    title : '激活手机号',
                    width:170
                },
                {

                    field : 'remark',
                        title : '备注',
                },
                {

                    field : 'createdName',
                        title : '创建人名称',
                },
                {

                    field : 'createdTime',
                        title : '创建时间',
                    width:170
                },
                {

                    field : 'updatedName',
                        title : '更新人名称',
                },
                {

                    field : 'updatedTime',
                        title : '更新时间',
                    width:170
                }

        ] ]

        });
            table.on('sort(rightncodeTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                console.log(obj.field); //当前排序的字段名
                console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                console.log(this); //当前排序的 th 对象

                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('rightncodeTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
            table.on('checkbox(rightncodeTable)', function(obj){
                var rightncode = obj.data;
                if(obj.checked){
                    //按钮逻辑Lib.buttonEnable()
                }else{

                }
            })
        },

        initSearchForm:function(){
            Lib.initSearchForm( $("#searchForm"),rightncodeTable,form);
        },
        initToolBar:function(){
            toolbar = {
                add : function() { // 获取选中数据
                    var url = "/ncode/rightncode/add.do";
                    Common.openDlg(url,"N码管理>新增");
                },
                edit : function() { // 获取选中数目
                    var data = Common.getOneFromTable(table,"rightncodeTable");
                    if(data==null){
                        return ;
                    }
                    var url = "/ncode/rightncode/edit.do?nCode="+data.ncode;
                    Common.openDlg(url,"N码管理>"+data.ncode+">编辑");
                },
                del : function() {
                    layui.use(['del'], function(){
                        var delView = layui.del;
                        delView.delBatch();
                    });
                },
                out : function() { // 出库
                    var data = Common.getMoreDataFromTable(table,"rightncodeTable");
                    if(data==null){
                        return ;
                    }
                    var ids =Common.concatBatchId(data,"ncode");

                    Common.postHtml("/ncode/rightncode/out.do",{},function(rsp){
                        layer.open({
                            type:0,
                            title:"选择省份",
                            content:rsp,
                            area:  ['380px', '400px'],
                            btn:["确定","取消"],
                            success:function(){
                                layui.form.render('select');
                            },
                            yes:function(index, layero) {
                                outCode(1,ids);
                            },
                            btn2:function(index, layero) {
                                layer.close(index);
                            }
                        });
                    });
                },
                allout : function() { // 全部出库
                    var batchId =$("#batchId").val();
                    if(batchId==null||batchId==""){
                        return ;
                    }
                    Common.postHtml("/ncode/rightncode/out.do",{},function(rsp){
                        layer.open({
                            type:0,
                            title:"选择省份",
                            content:rsp,
                            area:  ['380px', '400px'],
                            btn:["确定","取消"],
                            success:function(){
                                layui.form.render('select');
                            },
                            yes:function(index, layero) {
                                outCode(2,batchId);
                            },
                            btn2:function(index, layero) {
                                layer.close(index);
                            }
                        });
                    });

                },
                export : function() { // 获取选中数目
                    layui.use([ 'rightncodeApi' ], function() {
                        var rightncodeApi = layui.rightncodeApi;
                        var checkStatus = table.checkStatus("rightncodeTable")
                        var data = checkStatus.data;
                        var ids = "";
                        if(data!=null){
                            ids =Common.concatBatchId(data,"ncode");
                        }
                        Common.openConfirm("确认要导出这些数据?", function() {
                            rightncodeApi.exportExcel($("#searchForm"),ids, function(fileId) {
                                Lib.download(fileId);
                            })
                        })
                    });
                }
        };
            $('.ext-toolbar').on('click', function() {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }
    exports('index',view);

});
